﻿using Jinjia.Approve.Model;
using Jinjia.Approve.Model.Input.JJFlow;
using JinJia.Core.Base.Service;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace Jinjia.Approve.IService
{
    /// <summary>
    /// 审批流模板远程接口维护
    ///</summary>
    public interface IJJFlowTemplateRemoteInterfaceService : IBaseService
    {
        /// <summary>
        /// 下拉列表
        /// </summary>
        /// <returns></returns>
        Task<IEnumerable<JJFlowTemplateRemoteInterfaceDropDownListResponse>> GetDropDownListAsync();

        /// <summary>
        /// 获取远程接口数据
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="R"></typeparam>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<R> GetRemoteInterfaceAsync<T, R>(RemoteInterfaceInput<T> input) where T : class;
    }
}